import Vue from 'vue'
function doCloud(name,req, successCallback,errorCallback){
	return new Promise((resolve,reject)=>{
		if(req.showLoad){
			uni.showLoading({
				title:'加载中...'
			})
		}
		uniCloud.callFunction({
			name:name,//云函数
			data:{
				...req,
				token:uni.getStorageSync('uni_id_token')||''
			}
		}).then(res=>{
			try{
				if(req.showLoad){
					uni.hideLoading()
				}
			}catch(e){
				//TODO handle the exception
			}
			if(res.result.code!=0){
				Vue.prototype.$message.warning(res.result.msg)
			}
			
			if(res.result.code==30203||res.result.code==403||res.result.code==30202){
				uni.reLaunch({
					url: '/pages/login/login',
					success() {
						setTimeout(()=>{
							uni.showToast({
								icon:'none',
								title:res.result.msg
							})
						},500)
					}
				});
				
				return
			}
			resolve(res.result)
			successCallback && successCallback(res.data);
		}).catch(error=>{
			try{
				//隐藏加载动画
				uni.hideLoading()
			}catch(e){
				//TODO handle the exception
			}
			reject(error)
			errorCallback && errorCallback(error);
		})
	})
}
module.exports=	doCloud